1. Field of the Invention
The present invention is related to systems and methods for analyzing process models. More particularly, this invention is related to systems and methods for analyzing plant process models.
2. Description of the Related Art
Process industries, including but not limited to refining, chemical, petrochemical, and pharmaceutical processing, have experienced a need to operate ever more efficiently in order to remain competitive. This need has resulted in the development and deployment of process modeling systems. A process engineer uses these modeling systems to build a process model, or flowsheet, of an entire processing plant using equipment models provided by the modeling system. These flowsheet models are used to design and evaluate new processes, redesign and retrofit existing process plants, and optimize the operation of existing process plants. Typically, the process engineer must first build the flowsheet model, compile the model, and perform model checking before any model errors are detected.
Conventional modeling systems typically provide simulation, data reconciliation, and optimization of plant processes using corresponding unique programs and unique models. Each unit is associated with a set of equations and variables which, when solved, represent the operation of the specific process equipment. Conventionally, equations are solved or converged when executing applications such as simulation, data reconciliation, and optimization. Conventionally, the set of equations and variables provided by the modeling system is static and cannot be easily changed. Thus, models cannot be customized by a user to more closely represent the operation of the plant process equipment.
Typical modeling systems determine the solvability or convergence of a complex flowsheet model with recycles at the time of execution, after the flowsheet model has been fully generated and configured. It is at this point, after the user has expended great amounts of time and resources in generating and configuring the flowsheet model, that the user typically first learns whether the system of equations will converge. If the flowsheet model equations fail to converge at the time of execution, the process of making corrections and re-executing the desired application has to be repeated until the system of equations converge. Finding the element of error, and correcting the error, in a large and complex flowsheet model is an onerous and difficult task. Determining the correctness of the flowsheet model at the time of execution results in unnecessary and excessive waste in valuable human and computing resources.
The present invention relates to systems and methods for analyzing plant process models. Thus, a user may advantageously customize unit models and stream models to enhance the analysis of a process model.
In a preferred embodiment, a flowsheet model is composed of individual unit models connected by streams. A unit may be divided into process and non-process units. A process unit is an item of operating hardware such as a heat exchanger or a pump. A non-process unit is something other than an item of operating hardware. For example, a non-process unit may be a penalty unit used in assigning penalty weights to measured values beyond a specified range. Another example of a non-process unit may be a measurement from measuring devices such as flow meters, thermocouples, and pressure gauges. In one embodiment, each unit model is defined in terms of its variables, parameters, and equations, collectively known as a calculation block.
Typically, each unit has one or more entry or exit ports. A stream is connected to the unit""s entry port or exit port. A feed stream is connected to a unit""s entry port, whereas a product stream is connected to a unit""s exit port. Therefore, depending on the perspective of the connected port, a stream can be both a product stream and a feed stream.
Streams are also divided into process streams and non-process streams. A process stream connects two process units with compatible input and output, and represents a physical stream. A non-process stream represents two variables, or two groups of variables, that are equivalent or compatible, such as a measurement to a controller.
In one preferred embodiment, a Graphical User Interface (GUI) is used to build and specify a specific flowsheet configuration, such as a process plant or refinery, as represented by a particular arrangement of process units, connecting streams, parameters, variable values, operating specifications, and the like. The GUI incorporates user interface features such as tree views, drag-and-drop functionality, and tabbed windows to enhance the intuitiveness and usability of the interface.
In accordance with one embodiment of the invention, a single flowsheet configuration is enabled to be used in multiple calculation modes. In one preferred embodiment, three calculation modes, simulation, data reconciliation, and optimization, are provided. The calculation modes refer to alternative flowsheet solution-types that are designed to accomplish different solution objectives. For example, a single flowsheet model may generate an open-form equation representation for use in simulation, an open-form equation representation for use in data reconciliation, and an open-form equation representation for use in optimization.
In one preferred embodiment, the flowsheet model can be made square or solvable by a user. Typically, the number of variables in a unit model, and corresponding flowsheet model, exceeds the corresponding number of equations. However, in order for the flowsheet model to be solvable, the number of variables and equations associated with the flowsheet model should be equal. Thus, there should be zero degrees of freedom for the flowsheet to be solvable. Alternatively, the excess degrees of freedom should be accounted for in order to be solvable. For example, an equation may be interactively added by a user to make the number of equations and the number of variables equal, thus accounting for the excess degrees of freedom.
In one preferred embodiment, a user creates an instance of the unit by dragging and dropping an icon, using a pointing device such as a mouse, onto a flowsheet. The user is continuously informed of the current solvability state of the flowsheet model and the unit. For example, a user may instantiate a pump into a flowsheet. The pump""s name box may be colored, for example red, to indicate the need for user data. In another embodiment, an additional window may present to the user the independent-fixed variables requiring user supplied data. The variable""s data entry box may be red to indicate the need for user data.
Furthermore, the user is able to make modifications to the units, streams, and flowsheet efficiently. For example, pointing to and clicking on an instantiated unit using a mouse or the like may permit access to its calculation block. In another embodiment, the current degrees of freedom for a flowsheet model will continuously be calculated and maintained after each modification to the flowsheet model. The user may access a current count of the degrees of freedom for the flowsheet. For example, in one embodiment, accessing a GUI window indicates to the user the current degrees of freedom.
In another embodiment, the flowsheet model contents may be presented in a hierarchical, directory-like listing. Clicking on an intermediate node may expand the node and display the elements below the node. For example, clicking on a pump contained in the flowsheet hierarchical listing may display the variables contained in the pump""s model.
In a further embodiment, the flowsheet elements may be grouped into a collection. The collection may subsequently be collapsed into a single icon representation and may be treated as any other unit. For example, the user may delete the collection from the flowsheet, move the collection to another location in the flowsheet, and the like. Furthermore, the collection may be expanded to reveal the individual elements which comprised the collection.
In yet another embodiment, links may be created between flowsheet model elements and external databases. For example, a flowsheet model variable may be linked to an external database and obtain its value from the external database. Once the link is established, data may be transferred in both directions. For example, the variable may obtain its value from the database as well as write its value into the database.
In another preferred embodiment, each unit operation model has a unit customization layer. The unit customization layer permits a user to override predefined unit specifications. Typically, unit customization is accomplished by freeing one or more variables previously fixed, and then fixing other stream or unit variables in its place. In another embodiment, a user may enhance predefined unit models by defining additional user variables and equations which use existing or user-defined variables. The number of variables and equations may become part of the unit alone, thus permitting an analysis of the status of the variables and the equations at the unit level. This analysis may be performed to determine whether the number of variables to the number of equations have changed, and whether there are any unaccounted for degrees of freedom.
In yet another preferred embodiment, the unit customization layer is interfaced to a flowsheet customization layer. A user may establish relationships between different units and streams using the flowsheet customization layer. The custom equations and variables may belong to any of the units on the flowsheet.
Other features and advantages of the present invention will become more fully apparent through the following description.